<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>[Chapter 12] 12.2 GridLayout</TITLE>
<META NAME="author" CONTENT="Pat Niemeyer and Josh Peck">
<META NAME="date" CONTENT="Tue Jul 22 19:02:00 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Exploring Java">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Exploring Java" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch12_01.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Chapter 12<br>Layout Managers</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch12_03.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="EXJ-CH-12-SECT-2">12.2 GridLayout</A></h2>

<P CLASS=para>
<A NAME="CH10.GR"></A><tt CLASS=literal>GridLayout</tt> arranges components into regularly
spaced rows and columns. The components are arbitrarily resized to fit in
the resulting areas; their minimum and preferred sizes are
consequently ignored. <tt CLASS=literal>GridLayout</tt> is most useful
for arranging very regular, identically sized objects and for allocating
space for Panels to hold other layouts in each region of the container.

<P CLASS=para>
<tt CLASS=literal>GridLayout</tt> takes the number of rows and
columns in its constructor. If you subsequently give it too many
objects to manage, it adds extra columns to make the objects fit. You
can also set the number of rows or columns to zero, which means that
you don't care how many elements the layout manager packs in
that dimension. For example, <tt CLASS=literal>GridLayout(2,0)</tt>
requests a layout with two rows and an unlimited number of columns; if
you put ten components into this layout, you'll get two rows of
five columns each.

<P CLASS=para>
The following applet sets a <tt CLASS=literal>GridLayout</tt> with
three rows and two columns as its layout manager; the results are
shown in <A HREF="ch12_02.htm#EXJ-CH-12-FIG-3">Figure 12.3</A>.

<DIV CLASS=figure>
<h4 CLASS=figure><A CLASS="TITLE" NAME="EXJ-CH-12-FIG-3">Figure 12.3: A grid layout</A></h4>


<p>
<img align=middle src="./figs/je1203.gif" alt="[Graphic: Figure 12-3]" width=503 height=243 border=0>

</DIV>

<DIV CLASS=programlisting>
<P>
<PRE>
import java.awt.*; 
 
public class Grid extends java.applet.Applet {  
    public void init() { 
        setLayout( new GridLayout( 3, 2 )); 
        add( new Button("One") ); 
        add( new Button("Two") ); 
        add( new Button("Three") ); 
        add( new Button("Four") ); 
        add( new Button("Five") ); 
    } 
} 
</PRE>
</DIV>

<P CLASS=para>
The five buttons are laid out, in order, from left to right, top to
bottom, with one empty spot.

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch12_01.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch12_03.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>FlowLayout</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>BorderLayout</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
